package com.syh.jn.scm.domain.upstream.event;

import com.syh.core.ddd.domain.DomainEvent;
import com.syh.jn.scm.domain.downstream.entity.logistics.DownLogisticsBill;

public class UpLogisticsBillEvent extends DomainEvent<DownLogisticsBill> {

  public static final String UP_LOGISTICS_BILL_CREATED = "upLogisticsBillCreated";

  //上游物流单创建
  public static UpLogisticsBillEvent bulidUpLogisticsBillCreated(Object[] values) {
    UpLogisticsBillEvent logisticsBillEvent = new UpLogisticsBillEvent();
    logisticsBillEvent.eventName = UP_LOGISTICS_BILL_CREATED;
    logisticsBillEvent.values = values;
    return logisticsBillEvent;
  }

  public static final String UP_LOGISTICS_BILL_DELETED = "upLogisticsBillDeleted";

  //上游物流单删除
  public static UpLogisticsBillEvent bulidUpLogisticsBillDeleted(Object[] values) {
    UpLogisticsBillEvent logisticsBillEvent = new UpLogisticsBillEvent();
    logisticsBillEvent.eventName = UP_LOGISTICS_BILL_DELETED;
    logisticsBillEvent.values = values;
    return logisticsBillEvent;
  }

  public static final String UP_LOGISTICS_BILL_UPDATED = "upLogisticsBillUpdated";

  //上游物流单修改
  public static UpLogisticsBillEvent bulidUpLogisticsBillUpdated(Object[] values) {
    UpLogisticsBillEvent logisticsBillEvent = new UpLogisticsBillEvent();
    logisticsBillEvent.eventName = UP_LOGISTICS_BILL_UPDATED;
    logisticsBillEvent.values = values;
    return logisticsBillEvent;
  }

  //上游物流单发货
  public static final String UP_LOGISTICS_BILL_DELIVERY = "upLogisticsBillDelivery";

  public static UpLogisticsBillEvent bulidUpLogisticsBillDelivery(Object[] values) {
    UpLogisticsBillEvent logisticsBillEvent = new UpLogisticsBillEvent();
    logisticsBillEvent.eventName = UP_LOGISTICS_BILL_DELIVERY;
    logisticsBillEvent.values = values;
    return logisticsBillEvent;
  }

  //上游物流单收货
  public static final String UP_LOGISTICS_BILL_COLLECTED = "upLogisticsBillCollected";

  public static UpLogisticsBillEvent bulidUpLogisticsBillCollected(Object[] values) {
    UpLogisticsBillEvent logisticsBillEvent = new UpLogisticsBillEvent();
    logisticsBillEvent.eventName = UP_LOGISTICS_BILL_COLLECTED;
    logisticsBillEvent.values = values;
    return logisticsBillEvent;
  }

  public static final String UP_LOGISTICS_BILL_CANCELLED = "upLogisticsBillCancelled";

  //上游物流单取消发货
  public static UpLogisticsBillEvent bulidUpLogisticsBillCancelled(Object[] values) {
    UpLogisticsBillEvent logisticsBillEvent = new UpLogisticsBillEvent();
    logisticsBillEvent.eventName = UP_LOGISTICS_BILL_CANCELLED;
    logisticsBillEvent.values = values;
    return logisticsBillEvent;
  }

  public static final String UP_LOGISTICS_BILL_UN_RECEIVED = "upLogisticsBillUnReceived";

  //上游物流单取消收货
  public static UpLogisticsBillEvent bulidUpLogisticsBillUnReceived(Object[] values) {
    UpLogisticsBillEvent logisticsBillEvent = new UpLogisticsBillEvent();
    logisticsBillEvent.eventName = UP_LOGISTICS_BILL_UN_RECEIVED;
    logisticsBillEvent.values = values;
    return logisticsBillEvent;
  }

  //直采直销物流单创建
  public static final String PURCHASE_SALE_LOGISTICS_BILL_CREATED = "purchaseSaleLogisticsBillCreated";

  public static UpLogisticsBillEvent bulidPurchaseSaleLogisticsBillCreated(Object[] values) {
    UpLogisticsBillEvent logisticsBillEvent = new UpLogisticsBillEvent();
    logisticsBillEvent.eventName = PURCHASE_SALE_LOGISTICS_BILL_CREATED;
    logisticsBillEvent.values = values;
    return logisticsBillEvent;
  }

  //直采直销物流单修改
  public static final String PURCHASE_SALE_LOGISTICS_BILL_UPDATED= "purchaseSaleLogisticsBillUpdated";

  public static UpLogisticsBillEvent bulidPurchaseSaleLogisticsBillUpdated(Object[] values) {
    UpLogisticsBillEvent logisticsBillEvent = new UpLogisticsBillEvent();
    logisticsBillEvent.eventName = PURCHASE_SALE_LOGISTICS_BILL_UPDATED;
    logisticsBillEvent.values = values;
    return logisticsBillEvent;
  }

  //直采直销物流单发货
  public static final String PURCHASE_SALE_LOGISTICS_BILL_DELIVERY= "purchaseSaleLogisticsBillDelivery";

  public static UpLogisticsBillEvent bulidPurchaseSaleLogisticsBillDelivery(Object[] values) {
    UpLogisticsBillEvent logisticsBillEvent = new UpLogisticsBillEvent();
    logisticsBillEvent.eventName = PURCHASE_SALE_LOGISTICS_BILL_DELIVERY;
    logisticsBillEvent.values = values;
    return logisticsBillEvent;
  }

  //直采直销物流单取消
  public static final String PURCHASE_SALE_LOGISTICS_BILL_CANCELLED= "purchaseSaleLogisticsBillCancelled";

  public static UpLogisticsBillEvent bulidPurchaseSaleLogisticsBillCancelled(Object[] values) {
    UpLogisticsBillEvent logisticsBillEvent = new UpLogisticsBillEvent();
    logisticsBillEvent.eventName = PURCHASE_SALE_LOGISTICS_BILL_CANCELLED;
    logisticsBillEvent.values = values;
    return logisticsBillEvent;
  }

  //直采直销物流单删除
  public static final String PURCHASE_SALE_LOGISTICS_BILL_DELETED = "purchaseSaleLogisticsBillDeleted";

  public static UpLogisticsBillEvent bulidPurchaseSaleLogisticsBillDeleted(Object[] values) {
    UpLogisticsBillEvent logisticsBillEvent = new UpLogisticsBillEvent();
    logisticsBillEvent.eventName = PURCHASE_SALE_LOGISTICS_BILL_DELETED;
    logisticsBillEvent.values = values;
    return logisticsBillEvent;
  }
}
